public class Work {

    /**
     * 给定一个 n×m（n 行 m 列）的矩阵。设一个
     *
     * 矩阵的价值为其所有数中的最大值和最小值的乘积。求给定矩阵的所有大小为 a×b （a 行 b 列）的子矩阵的价值的和。
     *
     * 答案可能很大，你只需要输出答案对 998244353 取模后的结果。*/
    static final int MOD = 998244353;

    public static int matrixValue(int[][] matrix) {
        int n = matrix.length;
        int m = matrix[0].length;
        int result = 0;

        for (int a = 0; a < n; a++) {
            for (int b = 0; b < m; b++) {
                int maxVal = Integer.MIN_VALUE;
                int minVal = Integer.MAX_VALUE;

                for (int i = a; i < n; i++) {
                    for (int j = b; j < m; j++) {
                        maxVal = Math.max(maxVal, matrix[i][j]);
                        minVal = Math.min(minVal, matrix[i][j]);
                    }
                }

                result = (int) ((result + (long) maxVal * minVal) % MOD);
            }
        }

        return result;
    }

    public static void main(String[] args) {
        int[][] matrix = {
                {1, 2, 3},
                {4, 5, 6},
                {7, 8, 9}
        };

        int result = matrixValue(matrix);
        System.out.println(result);
    }
}
